/**
 * websocket函数
 */
export function useSocket(ticket, router = null, base = null, user = null, menu = null) {
  // 创建WebSocket实例
  const ws = new WebSocket('wss://api.qdqutuanjian.com.cn:9506');

  //监听是否连接成功
  ws.onopen = function () {
    console.log('ws连接状态：' + ws.readyState);
console.log(ticket);
    const message = JSON.stringify({type: 'bind', ticket: ticket})

    //连接成功则发送登录请求
    ws.send(message);
  }

  // 接听服务器发回的信息并处理展示
  ws.onmessage = function (res) {
    console.log('接收到来自服务器的消息：');
    console.log(res.data);

    const data = JSON.parse(res.data)

    if (data && data.status && data.status === 1018) {
      // 存储用户的token
      base.setToken(data.data.token)
      user.setUserInfo(data.data.user_info)

      // 清除左侧菜单状态
      menu.setLeftMenuStatus(false)

      //完成通信后关闭WebSocket连接
      ws.close();

      router.push({ name: "home" })
    } else if(data && data.status && data.status === 1019) {
      //完成通信后关闭WebSocket连接
      ws.close();

      router.go(0);

    } else if(data && data.status && data.status !== 1018 && data.status !== 1019) {
      $message.error(data.message)
      return
    }
  }

  // 监听连接关闭事件
  ws.onclose = function () {
    // 监听整个过程中websocket的状态
    console.log('ws连接状态：' + ws.readyState);
  }

  // 监听并处理error事件
  ws.onerror = function (error) {
    console.log(error);
  }
}
